<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Pedido extends CI_Controller {

	public function __construct(){
		parent::__construct();
		$this->load->model('pedido_model','pedido');
		$this->load->model('cliente_model','cliente');
		$this->load->model('produto_model','produto');
		$this->load->model('alegro_model','alegro');
		$this->load->model ( 'usuario_model', 'usuario' );
		$this->load->helper ( 'funcoes_helper' );
		//$this->load->model('itemPedido_model','itemPedido');
	}
	
	public function index(){
	
		if (!is_logado()) {
			redirect('alegro/login');
		} else {				
			$this->listar();
		}
	}
	
	//LISTAR PEDIDOS
	public function listar(){	
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
			
			$this->session->unset_userdata('cliente_id');
			$this->session->unset_userdata('cliente_nome');
			
			/*
			 *	Tipo de Perfil
			 *	1 - Administrador
			 *	2 - Financeiro
			 *	3 - Comercial
			 *	4 - Representante
			 *	5 - Visitante 
			 */
			
			//if ( $this->session->userdata('perfil_id') == '1' ){
			if ( $this->session->userdata('perfil') == 'Administrador' ||
				 $this->session->userdata('perfil') == 'Financeiro' ||
				 $this->session->userdata('perfil') == 'Comercial' || 
				 $this->session->userdata('perfil') == 'Faturamento') 
			{
				$pedidos = $this->pedido->get_all();
			} else {
				$pedidos = $this->pedido->get_all_pedidos_by_vendedor($this->session->userdata('usuario_id'));
			}
			
// 			echo "<pre>";
// 			print_r($pedidos);
// 			exit;
			
			foreach ($pedidos as $pedido) {
				$pedido->cli_codigo = $this->cliente->get_byid_singem_alegropedido($pedido->cli_codigo);
			}
			
// 			echo "<pre>";
// 			print_r($pedidos);
// 			exit;
			
			$dados = array(
					'titulo' 			=> 'Pedidos',
					'subtitulo' 		=> 'Lista',
					'funcionalidade' 	=> 'Listagem avançada',
					'botaopadrao'		=> 'Adicionar Pedido',
					'modulo'			=> 'pedido',
					'tela' 				=> 'listar',
					'pedidos'			=> json_encode($pedidos),
			);
			
// 			echo "<pre>";
// 			print_r($dados);
// 			exit;
			
			$this->parser->parse('index', $dados);
		}
	}
	
	public function adicionarCliente(){
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
			
			if ($this->session->userdata('cliente_id')){
				$this->session->unset_userdata('cliente_id');
				$this->session->unset_userdata('cliente_nome');
				$this->session->unset_userdata('cliente_tabela');
			}
			
			$clientes = $this->cliente->get_all_clientes_by_perfil($this->session->userdata('codigo_singem'));
			
// 			echo "<pre>";
// 			print_r($clientes);
// 			exit;
			
			$dados = array(
					'titulo' 			=> 'Pedidos',
					'subtitulo' 		=> 'Adicionar',
					'funcionalidade' 	=> 'Selecionar Cliente',
					'botaopadrao'		=> 'Avançar',
					'botaovoltar'		=> 'Voltar',
					'modulo'			=> 'pedido',
					'tela' 				=> 'adicionarCliente',
					'clientes'			=> json_encode($clientes),
			);
			
			$this->parser->parse('index', $dados);
		}
	}
	
	public function adicionarProduto(){
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
			
			$codGrupo = $this->session->userdata('grupo');
			
			if (!empty($this->input->post('id_cliente'))){
				$cliente = $this->cliente->get_byid($this->input->post('id_cliente'));
			} else {
				redirect(current_url());
			}
			
			$tabela_preco = $cliente->Classificacao;
			
			$cliente = array('cliente_id' 		=> $cliente->Cliente, 
							 'cliente_nome' 	=> $cliente->Nome, 
							 'cliente_tabela' 	=> $cliente->Classificacao,
							 'cliente_cgc'		=> $cliente->CGC
							);
			
			$this->session->set_userdata($cliente);
			
// 			echo '<pre>';
// 			print_r($this->session->userdata);
// 			exit;
			
			$produtos = $this->produto->get_all_produtos_by_precoTabela_and_grupo_select_campos($tabela_preco, $codGrupo);
			
// 			echo "<pre>";
// 			print_r($produtos);
// 			exit;
			
			foreach ($produtos as $produto){
				if (isset($produto->EstoqueAtual) && $produto->EstoqueAtual == null){
					$produto->EstoqueAtual = 0;
				}
				
				//$produto->preco = number_format($produto->preco, 2, ',', '.');
				
				if (isset($produto->preco_ipi) && $produto->preco_ipi != "0"){
					$produto->preco_ipi =  number_format($produto->preco_ipi, 2);
				}
				
			}
			
// 			echo "<pre>";
// 			print_r($produtos);
// 			echo "</pre>";
// 			exit;
			
			$prazos = $this->pedido->get_prazo();
			$desconto_maximo = $this->session->userdata('desconto_maximo');
			
			$dados = array(
					'titulo' 			=> 'Pedidos',
					'subtitulo' 		=> 'Adicionar',
					'funcionalidade' 	=> 'Adicionar Produtos',
					'botaopadrao'		=> 'Finalizar Pedido',
					'botaolimpar'		=> 'Limpar',
					'botaovoltar'		=> 'Voltar',
					'modulo'			=> 'pedido',
					'tela' 				=> 'adicionarProduto',
					'produtos'			=> json_encode($produtos),
					'prazos'			=> json_encode($prazos),
					'desconto_maximo'	=> json_encode($desconto_maximo),
			);
			
			$this->parser->parse('index', $dados);
		}
	}
	
	public function adicionarPedido(){
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
			$dados = json_decode($this->input->post('dados'));
			
// 			echo "<pre>";
// 			print_r($dados);
// 			exit;
			
			//$pedido['ped_codigo'] = $this->alegro->sequence('tbl_sequence', 'seq_pedido');
			$pedido['ped_codigo'] = $this->alegro->sequence('tbl_sequence', 'seq_pedido', 'alegro');
			$pedido['cli_codigo'] = $this->session->userdata('cliente_id');
			$pedido['cli_cgc'] = $this->session->userdata('cliente_cgc');
			$pedido['usu_codigo'] = $this->session->userdata('usuario_id');
			$pedido['usu_vendedor_singem'] = $this->session->userdata('codigo_singem'); 
			$pedido['ped_emissao'] = DateTime_Now('usa');

			$pedido['ped_emisso'] = ($this->session->userdata('usuario')); // . " (".DateTime_Now('pt-br').")" );
//			$pedido['ped_documento'] = 0;
// 			$pedido['ped_comissao_vendedor'] = '';
// 			$pedido['ped_comissao_cliente'] = '';

			$pedido['ped_prioridade'] = 1;
			$pedido['ped_tabela'] = $this->session->userdata('cliente_tabela');
//			$pedido['ped_tipo_tp_recebimento'] = 0.00;
//			$pedido['ped_peso_bruto'] = '';
//			$pedido['ped_peso_liquido'] = '';
			$pedido['ped_desconto'] = $dados->camposAdicionais[0]->desconto;
			$pedido['ped_prazo'] = $dados->camposAdicionais[0]->prazo;
			$pedido['ped_observacoes'] = $dados->camposAdicionais[0]->observacao;
			$pedido['ped_valor_total'] = $dados->camposAdicionais[0]->valor_total;
			$pedido['ped_valor_total_com_ipi'] = $dados->camposAdicionais[0]->valor_total_com_ipi;
			
// 			$pedido['ped_valor_total_com_desconto'] = number_format($dados->camposAdicionais[0]->valor_total_com_desconto, 2, ',', '.');
// 			$pedido['ped_valor_total_com_ipi_com_desconto'] = number_format($dados->camposAdicionais[0]->valor_total_com_ipi_com_desconto, 2, ',', '.');
			$pedido['ped_valor_total_com_desconto'] = $dados->camposAdicionais[0]->valor_total_com_desconto;
			$pedido['ped_valor_total_com_ipi_com_desconto'] = $dados->camposAdicionais[0]->valor_total_com_ipi_com_desconto;
			
			$pedido['ped_responsavel'] = ($this->session->userdata('usuario'));
			
// 			$pedido['ped_cancelado'] = '';
// 			$pedido['ped_entrega'] = '';
			$pedido['ped_status_comercial'] = 0;
			$pedido['ped_status_financeiro'] = 0;
			$pedido['ped_status_faturamento'] = 0;
			$pedido['ped_status'] = 0;
			$pedido['ped_excluido'] = 0;
			
// 			echo "<pre>";
// 			print_r($pedido);
// 			exit;
			
			if ($this->pedido->do_adicionar($pedido)){
				$array = $dados->produtos;
				
				foreach ($array as $obj){
					$produto['pro_codigo'] = $obj->id;
					$produto['ped_codigo'] = (int)$pedido['ped_codigo'];
					$produto['pro_quantidade'] = (int)$obj->qtd;
					if (isset($obj->descricao) && $obj->descricao != ""){
						$produto['pro_descricao'] = $obj->descricao;
					}
// 					$produto['pro_valor_unitario'] 							 = number_format($obj->precoUnitario, 2, ',', '.');
// 					$produto['pro_valor_unitario_com_desconto'] 			 = number_format($obj->precoUnitarioComDesconto, 2, ',', '.');
// 					$produto['pro_valor_unitario_com_ipi'] 					 = number_format($obj->precoUnitarioComIpi, 2, ',', '.');
// 					$produto['pro_valor_unitario_com_ipi_com_desconto'] 	 = number_format($obj->precoUnitarioComIpiComDesconto, 2, ',', '.');

// 					$produto['pro_valor_total_produto'] 					 = number_format($obj->precoTotal, 2, ',', '.');
// 					$produto['pro_valor_total_produto_com_desconto'] 		 = number_format($obj->precoTotalComDesconto, 2, ',', '.');
// 					$produto['pro_valor_total_produto_com_ipi'] 			 = number_format($obj->precoTotalComIpi, 2, ',', '.');
// 					$produto['pro_valor_total_produto_com_ipi_com_desconto'] = number_format($obj->precoTotalComIpiComDesconto, 2, ',', '.');

					$produto['pro_valor_unitario'] 							 = $obj->precoUnitario;
					$produto['pro_valor_unitario_com_desconto'] 			 = $obj->precoUnitarioComDesconto;
					$produto['pro_valor_unitario_com_ipi'] 					 = $obj->precoUnitarioComIpi;
					$produto['pro_valor_unitario_com_ipi_com_desconto'] 	 = $obj->precoUnitarioComIpiComDesconto;

					$produto['pro_valor_total_produto'] 					 = $obj->precoTotal;
					$produto['pro_valor_total_produto_com_desconto'] 		 = $obj->precoTotalComDesconto;
					$produto['pro_valor_total_produto_com_ipi'] 			 = $obj->precoTotalComIpi;
					$produto['pro_valor_total_produto_com_ipi_com_desconto'] = $obj->precoTotalComIpiComDesconto;
					
//					$produto['pro_comissao_vendedor'] = $obj->comissao; // Retirado a comissão do vendedor
					$produto['pro_comissao_vendedor'] = 0;
//					$produto['pro_comissao_cliente'] = $obj->comissao;
					$produto['pro_ipi'] = $obj->ipi;
					$produto['pro_status'] = 1;
					$produto['pro_excluido'] = 0;
					
					if ($this->produto->do_adicionar($produto) == FALSE){
						$status = FALSE;
						$this->produto->do_excluir($produto);
						$this->pedido->do_excluir($pedido->ped_codigo);
						break;
					} else {
						$status = TRUE;
					}
					
				}
				
// 				echo "<pre>";
// 				print_r($produto);
// 				exit;
				
				if ($status){
					//pega os dados do cliente inserido para enviar por email
					$dadosCadastrado = $pedido['ped_codigo'];
					
					//pega os emails para quem deve ser enviado o aviso
					$emails = $this->usuario->get_usu_email_by_acl(array(2,3));
					
					//pega email do representante
					//$representante = $this->session->userdata['email'];
					
					//depois de ter os emails, disparar o email
					if (enviarEmail(1,$dadosCadastrado,$emails,null,null)== false){
						$this->session->set_flashdata('erro', ERRO_ENVIAR_EMAIL);
					}

					$this->session->set_flashdata('sucesso', PEDIDO_REALIZADO);
					$data['statusPedido'] = 1;
				} else {
					$this->session->set_flashdata('erro', ERRO_ADICIONAR_PRODUTO_PEDIDO);
					$data['statusPedido'] = 0;
				}
			} else {
				$this->session->set_flashdata('erro', ERRO_PEDIDO_REALIZADO);
				$data['statusPedido'] = 0;
			}
			
 			$this->session->unset_userdata('cliente_id');
 			$this->session->unset_userdata('cliente_nome');

			$data['redirect'] = base_url('pedido');
 			echo json_encode($data);
		}
	}
	
	public function alterarPedido(){
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
// 			echo "<pre>";
// 			print_r($this->session->userdata);
// 			print_r($dados);
// 			exit;

			$id = $this->uri->segment(3);
			if ( empty($id) && !is_numeric($id) ){
				$this->session->set_flashdata('erro', ERRO_ALTERAR_PEDIDO_REALIZADO);
				redirect('pedido');
			}
				
			$pedido = $this->pedido->get_byid($id);
			
			$codGrupo = $this->session->userdata('grupo');
			$cliente = $this->cliente->get_byid($pedido->cli_codigo);
			
			$tabela_preco = $cliente->Classificacao;
			$cliente = array(
					'cliente_id' 		=> $cliente->Cliente,
					'cliente_nome' 		=> $cliente->Nome,
					'cliente_tabela' 	=> $cliente->Classificacao,
					'cliente_cgc'		=> $cliente->CGC
			);
	
			$this->session->set_userdata($cliente);
	
			$produtos = $this->produto->get_all_produtos_by_precoTabela_and_grupo_select_campos($tabela_preco, $codGrupo);
			
// 			echo "<pre>";
// 			print_r($cliente);
// 			echo "<br>";
// 			print_r($produtos);
// 			exit;
			
			foreach ($produtos as $produto){
				if (isset($produto->EstoqueAtual) && $produto->EstoqueAtual == null){
					$produto->EstoqueAtual = 0;
				}
				//$produto->preco = number_format($produto->preco, 2, ',', '.');
				if (isset($produto->preco_ipi) && $produto->preco_ipi != "0"){
					$produto->preco_ipi =  number_format($produto->preco_ipi, 2);
				}
			}
			
// 			echo "<pre>";
// 			print_r($produtos);
// 			exit;
			
			$prazo = $this->pedido->get_prazo_byid($pedido->ped_prazo);
			$pedido->ped_prazo = $prazo->Descricao;
			$itens = $this->pedido->get_itensPedido($pedido->ped_codigo);
				
// 			echo "<pre>";
			foreach ($itens as $item) {
				foreach ($produtos as $produto) {
					if ($item->pro_codigo == $produto->produto){
						$produto->quantidade = $item->pro_quantidade;
// 						print_r($produto);
					}
				}
			}
// 			exit;
			
			$prazos = $this->pedido->get_prazo();
			$desconto_maximo = $this->session->userdata('desconto_maximo');
			
			$dados = array(
					'titulo' 			=> 'Pedidos',
					'subtitulo' 		=> 'Alterar',
					'funcionalidade' 	=> 'Alterar Pedido',
					'botaopadrao'		=> 'Finalizar Pedido',
					'botaolimpar'		=> 'Limpar',
					'botaovoltar'		=> 'Voltar',
					'modulo'			=> 'pedido',
					'tela' 				=> 'alterarPedido',
					'pedido'			=> json_encode($pedido),
					'produtos'			=> json_encode($produtos),
					'prazos'			=> json_encode($prazos),
					'desconto_maximo'	=> json_encode($desconto_maximo),
			);
				
			$this->parser->parse('index', $dados);
		}
	}
	
	public function salvarAlteracaoPedido(){
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
			$dados = json_decode($this->input->post('dados'));

// 			echo "<pre>";
// 			print_r($dados);
// 			exit;
			
			//$id = $this->uri->segment(3);
			$id = $dados->pedido;
			if ( empty($id) && !is_numeric($id) ){
				$this->session->set_flashdata('erro', ERRO_ALTERAR_PEDIDO_REALIZADO);
				redirect('pedido');
			}
				
			//$pedido['ped_codigo'] = $dados->pedido;
			$pedido['ped_tabela'] = $this->session->userdata('cliente_tabela');
			$pedido['ped_desconto'] = $dados->camposAdicionais[0]->desconto;
			$pedido['ped_prazo'] = $dados->camposAdicionais[0]->prazo;
			$pedido['ped_observacoes'] = $dados->camposAdicionais[0]->observacao;
			$pedido['ped_valor_total'] = $dados->camposAdicionais[0]->valor_total;
			$pedido['ped_valor_total_com_ipi'] = $dados->camposAdicionais[0]->valor_total_com_ipi;
// 			$pedido['ped_valor_total_com_desconto'] = number_format($dados->camposAdicionais[0]->valor_total_com_desconto, 2, ',', '.');
// 			$pedido['ped_valor_total_com_ipi_com_desconto'] = number_format($dados->camposAdicionais[0]->valor_total_com_ipi_com_desconto, 2, ',', '.');
			$pedido['ped_valor_total_com_desconto'] = $dados->camposAdicionais[0]->valor_total_com_desconto;
			$pedido['ped_valor_total_com_ipi_com_desconto'] = $dados->camposAdicionais[0]->valor_total_com_ipi_com_desconto;
				
// 			echo "<pre>";
// 			print_r($pedido);
// 			exit;
			
			$produtos = $dados->produtos;
// 			echo "<pre>";
// 			print_r($produtos);
// 			exit;
			/*
			foreach ($produtos as $obj){
				$produto['pro_codigo'] = $obj->id; 
				$produto['ped_codigo'] = (int)$pedido['ped_codigo'];
				$produto['pro_quantidade'] = (int)$obj->qtd;
				if (isset($obj->descricao) && $obj->descricao != ""){
					$produto['pro_descricao'] = $obj->descricao;
				}
				$produto['pro_valor_unitario'] = $obj->precoUnitario;
				$produto['pro_valor_unitario_com_ipi'] = $obj->precoUnitarioComIpi;
				$produto['pro_valor_total_produto'] = $obj->precoTotal;
				$produto['pro_valor_total_produto_com_ipi'] = $obj->precoTotalComIpi;
				
				/*
				if ($this->produto->do_adicionar($produto) == FALSE){
					$status = FALSE;
					$this->produto->do_excluir($produto);
					$this->pedido->do_excluir($pedido->ped_codigo);
					break;
				} else {
					$status = TRUE;
				}
				*/
// 				echo "<pre>";
// 				print_r($produto);
// 				exit;
/*
			}
*/
// 			echo "<pre>";
// 			print_r($produtos);
// 			exit;

			if ($this->pedido->do_alterar($dados->pedido, $pedido, $produtos)){
				
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $dados->pedido;
					
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(2,3));
					
				//pega email do representante
				//$representante = $this->session->userdata['email'];
					
				//depois de ter os emails, disparar o email
				if (enviarEmail(1,$dadosCadastrado,$emails,null,null)== false){
					$this->session->set_flashdata('erro', ERRO_ENVIAR_EMAIL);
				}
		
				$this->session->set_flashdata('sucesso', ALTERAR_PEDIDO_REALIZADO);
				$data['statusPedido'] = 1;
						
			} else {
				$this->session->set_flashdata('erro', ERRO_PEDIDO_REALIZADO);
				$data['statusPedido'] = 0;
			}
				
			//$data['redirect'] = base_url('pedido/index');
			$data['redirect'] = base_url('pedido');
			echo json_encode($data);
		}
	}
	
	public function detalharPedido(){
		if (!is_logado()) {
			redirect('alegro/login');
		} else {
			
			$id = $this->uri->segment(3);
			
			if ( !empty($id) && is_numeric($id) ){
				//$cliente = $this->cliente->get_byid($id);
				$pedido = $this->pedido->get_byid($id);
			} else {
				$this->session->set_flashdata('detalhePedido', ERRO_DETALHE_PEDIDO);
				redirect('pedido');
			}
			
			$cliente = $this->cliente->get_byid_singem_alegropedido($pedido->cli_codigo);
			$prazo = $this->pedido->get_prazo_byid($pedido->ped_prazo);
			$pedido->ped_prazo = $prazo->Descricao;
			$itens = $this->pedido->get_itensPedido($pedido->ped_codigo);

// 			echo "<pre>";
// 			print_r($pedido);
// 			exit;
			
			foreach ($itens as $item) {
				$produto = $this->produto->get_nome_produto_by_id($item->pro_codigo);
				if ($item->pro_descricao == NULL || $item->pro_descricao != $produto->Descricao){
					$item->pro_descricao = $produto->Descricao;
					$this->produto->alterarDescricaoProduto($item, "pro_descricao");
				}
			}
			
			$representante = $this->usuario->get_byid_singem($pedido->usu_vendedor_singem);
			$representante2 = $this->usuario->get_byid($pedido->usu_codigo);

// 			echo "<pre>";
// 			print_r($representante);
// 			exit;
			
			if (isset($representante) && !empty($representante) ){
				
				$email = "";
				if ( isset($representante->Email) && $representante->Email != "" ){
					$email = $representante->Email;
				} else {
					$email = $representante2->usu_email;
				}
				
				$vendedor = array(	
					'Nome' 		=> $representante->Nome, 
					'Endereco' 	=> $representante->Endereco, 
					'Bairro' 	=> $representante->Bairro,
					'Cidade' 	=> $representante->Cidade,
					'UF' 		=> $representante->UF,
					'CEP' 		=> $representante->CEP,
					'CPF' 		=> $representante->CPF,
					'Fone' 		=> $representante->Fone,
					'Email' 	=> $email
					);
			} else {
				$vendedor = array();
			}
			
			$dados = array(
					'titulo' 			=> 'Pedidos',
					'subtitulo' 		=> 'Detalhar',
					'funcionalidade' 	=> 'Detalhar Pedido',					
					'modulo'			=> 'pedido',
					'tela' 				=> 'detalharPedido',
					'pedido' 			=> json_encode($pedido),
					'itens' 			=> json_encode($itens),
					'cliente'			=> json_encode($cliente),
					'vendedor'			=> json_encode($vendedor),
			);
			$this->parser->parse('index', $dados);
		}
	}
	
	/*
	 * 
	 * APROVAR COMERCIAL
	 * 
	 * */
	public function aprovarComercial(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
				
				$pedido = $this->pedido->do_aprovar($id, 'ped_status_comercial');
				$this->session->set_flashdata('sucesso', PEDIDO_APROVADO);
				
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $id;
				
				//quem fez o pedido
				$autorPedido = $this->pedido->get_byid($id);
								
				//pega email do representante
				$representante = $this->usuario->get_byid($autorPedido->usu_codigo);

				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(6));				
				
				//depois de ter os emails, disparar o email
				enviarEmail(4,$dadosCadastrado,$emails,$representante->usu_email, null);
				
			} else {
				$this->session->set_flashdata('erro', ERRO_APROVAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * NEGAR COMERCIAL
	 *
	 * */
	public function negarComercial(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
				
				$dados['ped_motivo_reprovacao_comercial'] = $this->input->post('motivo_reprovacao'); 
				$dados['ped_observacao_comercial'] = $this->input->post('observacao');
				$dados['ped_status_comercial'] = 0;

				$pedido = $this->pedido->do_negar($id, 'ped_status_comercial', $dados);
				$this->session->set_flashdata('sucesso', PEDIDO_NEGADO);
				
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $id;
				
				//quem fez o pedido
				$autorPedido = $this->pedido->get_byid($id);
				
				//pega email do representante
				$representante = $this->usuario->get_byid($autorPedido->usu_codigo);
				
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(6));
				
				//depois de ter os emails, disparar o email
				enviarEmail(3,$dadosCadastrado,$emails,$representante->usu_email, $dados['ped_observacao_comercial']);
				
			} else {
				$this->session->set_flashdata('erro', ERRO_NEGAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * APROVAR FINANCEIRO
	 *
	 * */
	public function aprovarFinanceiro(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
				
				$pedido = $this->pedido->do_aprovar($id, 'ped_status_financeiro');
				$this->session->set_flashdata('sucesso', PEDIDO_APROVADO);
				
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $id;
				
				//quem fez o pedido
				$autorPedido = $this->pedido->get_byid($id);
					
				//pega email do representante
				$representante = $this->usuario->get_byid($autorPedido->usu_codigo);
				
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(6));
				
				//depois de ter os emails, disparar o email
				enviarEmail(6,$dadosCadastrado,$emails,$representante->usu_email, null);
				
			} else {
				$this->session->set_flashdata('erro', ERRO_APROVAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * NEGAR FINANCEIRO
	 *
	 * */
	public function negarFinanceiro(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
				
				$dados['ped_motivo_reprovacao_financeiro'] = $this->input->post('motivo_reprovacao');
				$dados['ped_observacao_financeiro'] = $this->input->post('observacao');
				$dados['ped_status_financeiro'] = 0;
				
				$pedido = $this->pedido->do_negar($id, 'ped_status_financeiro', $dados);
				$this->session->set_flashdata('sucesso', PEDIDO_NEGADO);
				
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $id;
				
				//quem fez o pedido
				$autorPedido = $this->pedido->get_byid($id);
				
				//pega email do representante
				$representante = $this->usuario->get_byid($autorPedido->usu_codigo);
				
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(6));
				
				//depois de ter os emails, disparar o email
				if (enviarEmail(5,$dadosCadastrado,$emails,$representante->usu_email,$dados['ped_observacao_financeiro']) == false){
					$this->session->set_flashdata('erro', ERRO_ENVIAR_EMAIL);
				}
				
			} else {
				$this->session->set_flashdata('erro', ERRO_NEGAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * APROVAR FATURAMENTO
	 *
	 * */
	public function aprovarFaturamento(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
	
				$pedido = $this->pedido->do_aprovar($id, 'ped_status_faturamento');
				$this->session->set_flashdata('sucesso', PEDIDO_FATURADO);
	
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $id;
	
				//quem fez o pedido
				$autorPedido = $this->pedido->get_byid($id);
					
				//pega email do representante
				$representante = $this->usuario->get_byid($autorPedido->usu_codigo);
	
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(6));
	
				//depois de ter os emails, disparar o email
				enviarEmail(7,$dadosCadastrado,$emails,$representante->usu_email, null);
	
			} else {
				$this->session->set_flashdata('erro', ERRO_FATURAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * NEGAR FATURAMENTO
	 *
	 * */
	public function negarFaturamento(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
	
				$dados['ped_motivo_reprovacao_faturamento'] = $this->input->post('motivo_reprovacao');
				$dados['ped_observacao_faturamento'] = $this->input->post('observacao');
				$dados['ped_status_faturamento'] = 0;
	
				$pedido = $this->pedido->do_negar($id, 'ped_status_faturamento', $dados);
				$this->session->set_flashdata('sucesso', PEDIDO_NAO_FATURADO);
	
				//pega os dados do cliente inserido para enviar por email
				$dadosCadastrado = $id;
	
				//quem fez o pedido
				$autorPedido = $this->pedido->get_byid($id);
	
				//pega email do representante
				$representante = $this->usuario->get_byid($autorPedido->usu_codigo);
	
				//pega os emails para quem deve ser enviado o aviso
				$emails = $this->usuario->get_usu_email_by_acl(array(6));
	
				//depois de ter os emails, disparar o email
				if (enviarEmail(8,$dadosCadastrado,$emails,$representante->usu_email,$dados['ped_observacao_faturamento']) == false){
					$this->session->set_flashdata('erro', ERRO_ENVIAR_EMAIL);
				}
	
			} else {
				$this->session->set_flashdata('erro', ERRO_FATURAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * CANCELAR PEDIDO
	 *
	 * */
	public function cancelarPedido(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
				$pedido = $this->pedido->do_cancelar($id, 'ped_status');
				$this->session->set_flashdata('sucesso', PEDIDO_CANCELADO);
			} else {
				$this->session->set_flashdata('erro', ERRO_CANCELAR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
	/*
	 *
	 * EXCLUIR PEDIDO
	 *
	 * */
	public function excluirPedido(){
		if (!is_logado()) {
			redirect('alegro/login');
		}else{
			$id = $this->uri->segment(3);
			if ( !empty($id) && is_numeric($id) ){
				$pedido = $this->pedido->do_excluir($id, 'ped_excluido');
				$this->session->set_flashdata('sucesso', PEDIDO_EXCLUIDO);
			} else {
				$this->session->set_flashdata('erro', ERRO_EXCLUIR_PEDIDO);
			}
		}
		redirect('pedido/index');
	}
	
}